﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Hotel.Interface
{
    public partial class Themphong : Form
    {
        public Themphong()
        {
            InitializeComponent();
        }

        private SqlConnection con;
        private SqlDataAdapter da = new SqlDataAdapter();
        private int disphong = 0;

        private void connect()
        {
            string cn = "Data Source=.;Initial Catalog=Hotel;Integrated Security=True";

            try
            {
                con = new SqlConnection(cn);
                con.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Khong the ket noi co so du lieu", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btncancel_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

        QL_phong frmqlphong = new QL_phong();
        int kt = 1;
        private void btnok_Click(object sender, EventArgs e)
        {
            disphong = 0;
            if (tbloaiphong.Text == "")
            {
                errorProvider2.SetError(tbloaiphong, "Chưa nhập loại phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider2.Clear(); kt = 0; }
            if (tbsogiuong.Text == "")
            {
                errorProvider3.SetError(tbsogiuong, "Chưa nhập số giường");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider3.Clear(); kt = 0; }
            if (tbsucchua.Text == "")
            {
                errorProvider4.SetError(tbsucchua, "Chưa nhập sức chứa (số người) trong phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider4.Clear(); kt = 0; }
            if (tbmota.Text == "")
            {
                errorProvider5.SetError(tbmota, "Chưa mô tả phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider5.Clear(); kt = 0; }
            if (tbgia.Text == "")
            {
                errorProvider6.SetError(tbgia, "Chưa nhập giá phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider6.Clear(); kt = 0; }

            int ttrang=0;
            if (cbtinhtrang.Text == "")
            {
                errorProvider7.SetError(cbtinhtrang, "Chưa chọn tình trạng phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else 
            {
                if (cbtinhtrang.Text == "Phòng đang cho thuê") ttrang = 1;
                else if (cbtinhtrang.Text == "Phòng đang thu dọn") ttrang = 2;
                errorProvider7.Clear(); kt = 0; 
            }
            if (tbtiennghi.Text == "")
            {
                errorProvider8.SetError(tbtiennghi, "Chưa nhập tiện nghi cho phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else { errorProvider8.Clear(); kt = 0; }
            if (tbsophong.Text == "")
            {
                errorProvider1.SetError(tbsophong, "Chưa nhập mã phòng");
                lberror.Text = "Không được bỏ trống bất cứ mục nào, mời bạn nhập lại";
                kt = 1;
            }
            else if (tbsophong.Text.Length != 3)
            {
                errorProvider1.SetError(tbsophong, "Nhập số phòng với 3 ký tự");
                lberror.Text = "Lỗi: Bạn nhập phòng không đúng 3 ký tự";
                kt = 1;
            }
            else { errorProvider1.Clear(); kt = 0; }
            if (kt == 0)
            {
                serverdata("INSERT INTO Phong(MaPhong, LoaiPhong, SoGiuong, SucChua, MoTa, Gia, TinhTrang, TienNghi) VALUES ('"+tbsophong.Text+"', N'" + 
                    tbloaiphong.Text + "', '" + tbsogiuong.Text + "', '" + tbsucchua.Text + "', N'" + tbmota.Text + "', '" + 
                    tbgia.Text + "', '" + ttrang + "', N'" + tbtiennghi.Text + "')");
                if(disphong == 0) this.Dispose();
            }
        }

        public void serverdata(string sql)
        {
            try
            {
                connect();
                SqlCommand command = new SqlCommand();
                command.Connection = con;
                command.CommandText = sql;
                command.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                disphong = 1;
                MessageBox.Show("Số phòng bạn nhập đã bị trùng");
            }
        }

        private void tbsogiuong_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !(e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == 8);
        }

        private void tbsucchua_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !(e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == 8);
        }

        private void tbgia_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !(e.KeyChar >= 48 && e.KeyChar <= 57 || e.KeyChar == 8);
        }
    }
}
